package com.warm.base.algorithm.sort;

public class Insertion extends AbstractAscSort{

    /**
     * 以第二个位置的元素为基准, 将左边排成有序序列
     * 索引左边的元素都是有序的, 但是具体位置还未确定, 需要不断移动元素
     *
     * 适合部分有序数组
     */

    @Override
    public void sort(Comparable[] a) {
        int N = a.length;
        for (int i = 1; i < N; i++) {
            for(int j = i; j > 0 && less(a[j], a[j-1]); j--){
                exch(a, j, j-1);
            }
        }
    }
}
